package com.auto.survey.measurecontroller

import com.auto.survey.activity.monitoring.entity.MonitoringPointCtrlObservation
import com.auto.survey.measurecontroller.entity.InstrumentStatus

/**
 * 测量控制器与UI交互的接口
 */
// 测量控制器与UI交互的接口
interface MeasureUICallback {
    // 初始化状态更新
    fun onInitStatusChanged(status: String)

    fun onBluetoothStateChanged(isBlueToothConnected: Boolean)

    // 测量数据更新（单个测点）
    fun onMeasureDataUpdated(observation: MonitoringPointCtrlObservation)

    // 测量进度更新（总进度/当前进度）
    fun onProgressUpdated(current: Int, total: Int)

    // 测量过程日志（用于列表展示）
    fun onProcessLogAdded(log: String)

    // 错误信息提示
    fun onErrorOccurred(message: String)

    // 任务完成通知
    fun onTaskCompleted(results: List<MonitoringPointCtrlObservation>)

    /**
     * 仪器状态更新时回调
     * @param status 更新后的仪器状态
     */
    fun onInstrumentStatusUpdated(status: InstrumentStatus)
}
